{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 爬虫基本概念"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一.爬虫的概念"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "网络爬虫又称为网络蜘蛛,网络机器人,是一种按照一定的规则,自动请求万维网网站并提取网络数据的程序或脚本"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二.爬虫的分类"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通常可以按照不同的维度对网络爬虫进行分类;按照<b>使用场景</b>,可将爬虫分为<b>通用爬虫</b>和<b>聚焦爬虫</b>;按照</b>爬取形式</b>,可分为<b>累积式爬虫</b>和<b>增量式爬虫</b>;按照<b>爬取数据的存在方式</b>,可分为<b>表层爬虫</b>和<b>深层爬虫</b>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.通用爬虫和聚焦爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通用爬虫是搜索引擎爬取系统(Baidu,Google等)的重要组成部分,主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份;聚焦爬虫是\"面向特定主题需求\"的一种网络爬虫程序"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 通用爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通用爬虫又称为全网爬虫,它将爬取对象从一些种子URL扩充到整个网络,主要用途是为门户站点搜索引擎和大型Web服务提供商采集数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通用爬虫的爬行范围和数量巨大,对于爬行速度和存储空间要求较高,对于爬行页面的顺序要求相对较低.同时由于待刷新的页面太多,通常采用并行工作方式,但需要较长时间才能刷新一次页面"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 聚焦爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "聚焦爬虫又称为主题网络爬虫,是指选择性爬行那些与预先定义好的主题相关的页面的网络爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.累积式爬虫和增量式爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 累积式爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "累积式爬虫是指从某一个时间点开始,通过遍历的方式爬取系统所允许存储和处理的所有网页"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 增量式爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "增量式爬虫是指在具有一定量规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行爬取,以保证所爬取到的数据与真实网络数据足够接近.进行增量式爬取的前提是：系统已经爬取了足够数量的网络页面,并具有这些页面被爬取的时间信息"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "累积式爬取一般用于数据集合的整体建立或大规模更新阶段;而增量式爬取则主要针对数据集合的日常维护与即使更新"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.表层1爬虫和深层爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 表层爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "爬取表层网页的爬虫叫作表层爬虫.表层网页是指传统搜索引擎可以索引的页面,以超链接可以到达的静态网页为主构成的Web页面"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 深层爬虫"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "深层网页是那些大部分内容不能通过静态链接获取到,隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面.例如用户注册后内容才可见的网页就属于深层网页"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "深层爬虫过程中最重要的部分就是表单填写,包含两种类型：\n",
    "1. 基于领域知识的表单填写：此方法一般会维持一个本体库,通过语义分析来选取合适的关键词填写表单\n",
    "2. 基于网页结构分析的表单填写：此方法一般无领域知识或仅有有限的领域知识,将网页表单表示成DOM树,从中提取表单各字段的值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
